package com.xfp.mapper;


import com.github.pagehelper.Page;
import com.xfp.anntation.AutoFill;
import com.xfp.enumclass.OperationClass;
import com.xfp.pojo.dto.VmTypePageDto;
import com.xfp.pojo.dto.newVmTypeDto;
import com.xfp.pojo.entity.VmType;
import com.xfp.pojo.vo.VmTypeVo;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

@Mapper
public interface VmTypeMapper {
    /**
     * 查询设备类型
     * @param dto
     * @return
     */
    Page<VmType> queryVmType(VmTypePageDto dto);

    /**
     * 新增设备类型
     * @param dto
     */
    @AutoFill(OperationClass.INSERT)
    void insertVmType(newVmTypeDto dto);

    /**
     * 修改设备类型
     * @param dto
     */
    @AutoFill(OperationClass.UPDATE)
    void updateVmType(newVmTypeDto dto,Long id);

    /**
     * 删除设备类型
     * @param typeId
     */
    @Delete("delete from tb_vm_type where type_id = #{typeId}")
    void deleteVmType(Long typeId);

    /**
     * 根据id查询设备类型
     */
    @Select("select * from tb_vm_type where type_id  = #{typeId}")
    VmType findById(Integer typeId);

    /**
     * 类型查询
     * @param typeId
     */
    @Select("select * from tb_vm_type where type_id = #{typeId}")
    VmTypeVo findType(Integer typeId);
}
